各位好!中秋放假愉快,今天應景一下不講太多太深的東西,全心投入休假中 ?
今天「你可以不用知道的 Angular」要來介紹的不是 Tip!而是一個你根本沒想到要用的 Trick。我在擬稿的時候真的是寫到懷疑自我,到底我為什麼要介紹這個鬼東西呢。
正常、絕大多數的開發者在使用 Angular 來開發網頁應用程式時,我相信都會用到一個叫做 interpolation 的功能(不是數學,是 Angular),這個 interpolation 中文被譯為「插值」,不求斜率,求的是將 Angular typescript 內的變數插入 HTML template 裡面,如以下範例:
// HTML
<p>{{ title }}</p>
// TypeScript
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'day16';
}
↑ Block 1
Block 1 最終的顯示內容會是:
day16
嗯……這就是 interpolation!也是 Angular 101 的內容!
接下來的內容才是你不用知道的部分:
// HTML
<p>? title ?</p>
// TypeScript
@Component({
selector: 'app-root',
interpolation: ['?', '?'],
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'day16';
}
↑ Block 2
你沒看錯,我將左邊的插值符號用 ? 取代,而右邊的插值符號則從原本的 }}
替換成了 ?。
恩……
如果你哪天需要用到這個功能的話,請你一定要留言跟我說!
以上就是今天的「你可以不用知道的 Angular」小知識!
明天開始要回歸介紹 Tip 囉 ?
以下按照入團順序列出我們團隊夥伴的系列文章!
請自由參閱 ?
如果 template 上就需要顯示 {{
或 }}
呢?就必須把它當作字串如:
{{ '{{' }}
或放到 component 內當屬性使用
data = '{{';
如果 template 上有大量的 {{
或 }}
需要當作字串顯示時,就可以考慮設定 interpolation
!
雖然是這樣說,但我也沒遇到這種情境就是了 XDD
BTW,有些符號是不能拿來當 interpolation 的,規則在這裡:
https://github.com/angular/angular/blob/master/packages/compiler/src/assertions.ts
感謝補充!
沒錯!當 template 上需要顯示 {{ 或 }} 就可以改 interpolation 的符號了 哈哈
另外,當屬性插入時因為是不同的處理邏輯,所以不用改 interpolation 也可以正常顯示也沒問題唷~
哦哦 看懂了,就是可以自定義插值符號的意思嗎?
為什麼會看到這種東西XDD
另外我想問一個弱弱的問題,就是那個 Angular 101 的 101
常常看到程式相關會寫這個魔術數字,它代表的是什麼意思啊?
沒錯喔!
在 @Component 裡的 interpolation 這個屬性可以讓開發者自訂 HTML template 使用的插值符號 xD
101 的意思可以參考:Wiki 的解釋,大意就是給初心者的內容。
喔喔喔 了解了 感謝
原來由來是因為學程編號的關係阿